#pragma once

#include<string>
#include<map>

#include "helper/util/Subject.h"
#include "helper/util/Observer.h"
#include "helper/util/NotificationCategory.h"

namespace app {
namespace net {

class Message : public helper::util::Event{
public:
  ~Message() override{}
	virtual const long long id() ;
	virtual std::string toString() const ;
};

class DBObserver  : public helper::util::IPushObserver {
public:
	~DBObserver() override{}
	int update(helper::util::Event * event) override;
};

class MockNet : 
	public helper::util::KeyValueNotification<std::string, helper::util::IPushObserver> {
public:
	~MockNet() override{}

	int recv() ;
};

}// namespace net
}// namespace app 
